Interleavers provide protection against bursts and media defects by scrambling the coded information in the channel domain. Traditionally, interleavers have always been designed without much consideration about the underlying code. There are many well known interleaver variants such as the s-random interleaver, algebraic interleaver, matrix interleaver, as well as others, that map bits in the ISI domain to bits in the coded domain. The essential principle in these interleaving constructions is that adjacent ISI bits over a certain window length are mapped to non-adjacent bits in the code domain. This rule helps the code to recover information in the event of media defects and burst errors that would flip adjacent bits in the channel domain.
However, when interleavers are used in conjunction with a particular channel code, the scrambling functions must be designed in such a way that the code does not get correlated information from the channel. This makes the interleaver constrained to both the channel and the code specifications and is called a “channel constrained code aware interleaver”.